var CryptoJS = require("crypto-js");


/**

 // 使用 CryptoJS 的 SHA1 函数进行加密
var sha1Hash = CryptoJS.SHA1('0000f2802f10659bb0706e0e1727940782172');
// 输出加密结果
console.log(sha1Hash.toString());


 // 使用 CryptoJS 的 MD5 函数进行加密
var message = "0000f2802f10659bb0706e0e1727942016723";
var md5Value = CryptoJS.MD5(message).toString();
console.log(md5Value); // 输出 MD5 加密后的字符串

 */

/*this.tokenStr = [115, 119, 112, 99, 116, 97, 99, 114, 107, 97, 118, 113, 109, 103, 112]
function dencryptCode(t) {
    return t.map(function(e) {
        return String.fromCharCode(e - 2)
    }).join("")
}
console.log(dencryptCode(this.tokenStr)) //返回固定值： qunar_api_token*/


function getTokenStr() {
    var t = 'qunar_api_token';
    // var n = document.getElementById(t).innerHTML;
    var n = '0000f2802f10659bb0706e0e';
    return n
}

function encryptSHA1(e) {
    // 使用 CryptoJS 的 SHA1 函数进行加密
    return CryptoJS.SHA1(e);
}
// console.log(encryptSHA1('0000f2802f10659bb0706e0e1727940782172'))

function encryptMD5(e) {
    return CryptoJS.MD5(e);
}
// console.log(encryptMD5("0000f2802f10659bb0706e0e1727942016723"));

function encryptFunction() {
    return [function(e) {
        // var t = (0, u.default)(e).toString();  //var u = s.SHA1
        // return (0,f.default)(t).toString()  // var a = o.MD5
        var t = encryptSHA1(e).toString();
        return encryptMD5(t).toString()
    }
    , function(e) {
        var t = encryptMD5(e).toString();
        return encryptSHA1(t).toString()
    }
    ]
}

function encrypt() {
    var t = getTokenStr()
      // , n = this.getQtTime((0, s.default)(this.dencryptCode(this.qtTime)))
      , n = new Date().getTime()
      , r = n % 2;
    return encryptFunction()[r](t + n)
}

function encryptToken(t) {
    // return (0,f.default)(t).toString()
    return encryptMD5(t).toString()
}

// 请求接口参数 __m__ 获取
console.log('__m__ :', encryptToken(encrypt()))

// e.data["__m__"] = u.default.encryptToken(u.default.encrypt());
// e.data = JSON.stringify(e.data)





function getRandomKey(t) {
    var n = "";
    var r = ("" + t).substr(4);
    r.split("").forEach(function(e) {
        n += e.charCodeAt()
    });
    // var i = (0, f.default)(n).toString();
    var i = encryptMD5(n).toString();
    return i.substr(-6)
}
// console.log(getRandomKey(1727944292723))

//headers 请求参数处理
function getToken() {
    var t = {};
    t[getRandomKey(
        new Date().getTime()
    )] = encrypt();
    return t
}
// 获取 请求头'headers:' 参数
console.log('headers:', JSON.stringify(getToken()))


// function getToken() {
//     var t = {};
//     t[this.getRandomKey(
//         this.getQtTime((0, s.default)(this.dencryptCode(this.qtTime)))
//     )] = this.encrypt();
//     return t
// }